<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			//短路运算：当有多个表达式参与逻辑运算，左边的表达式可以确定值就不再计算右边的表达式
			console.log(123 && 456); //456
			console.log(0 && 456); //0
			console.log(0 && 1 + 2 && 234 * 3423); //0
			console.log(123 && 0);//0

			// 表达式1 && 表达式2   
			// 如果第一个表达式为真则返回第二个表达式的值,即便第二个是假也返回
			// 如果第一个表达式为假则返回第一个表达式
			// 空的或否定的为假其余为真
			// 多个逻辑与中断基本可以理解为找到第一个为假的表达式就结束


			console.log(123 || 456);
			console.log(0 || 456);
			console.log(123 || 234 || 3423 + 342);
			console.log(0 || 345 || 123 + 23142);
			console.log('' || 0);
			// 表达式1 || 表达式2
			// 如果第一个表达式为真则返回第一个表达式
			// 如果第一个表达式为假则返回第二个表达式
			// 多个逻辑或中断基本可以理解为找到第一个为真的表达式就结束

			var num = 0;
			console.log(123 || num++);
			console.log(num);
			// 这里可以理解中断, num++从头到尾没有执行所以是最后还是0
		</script>
	</head>
	<body>
	</body>
</html>
